#ifndef __TEXTURE_H__
#define __TEXTURE_H__

#include "../Header/Header.h"
#include "Shader.h"

class Texture
{
private:
	__UINT32 m_iTextures;
	GLuint* m_iTBO;
	GLenum m_eTextureTarget;
	__UINT32 m_iCloneCouter;
public:
	Texture();
	~Texture();
	GLuint LoadTexture2D(char* strFile);
	GLuint* LoadTexture2D(char** strFiles, __UINT32 iTextures);
	GLuint LoadTextureCube(char** strFiles, __UINT32 iCubeFaces = 6);
	//__VOID SetTexture(Texture* texture);
	__UINT32 GetTextureCount(){ return m_iTextures; }
	__UINT32 GetCloneCounter(){ return m_iCloneCouter; }
	GLuint* GetTextureID(){ return m_iTBO; }
	GLenum GetTextureTarget(){ return m_eTextureTarget; }
	__UINT32 Render(Shader* sha);
	__VOID Release();
};

#endif